A disk drive is typically used as a mass storage device for an individual computer, or multiple computers linked together in a network configuration. One type of disk drive, used to service one or more host computers, is a solid state disk drive. Unlike the more common disk drives, which typically include only a magnetic disk for data storage, solid state disk drives include a combination of a magnetic disk and electronic RAM memory.
Although even common disk drives may have some RAM memory, that electronic memory is relatively very small compared to the storage capacity of the disk. Usually that small electronic RAM is used as a temporary storage buffer for data transmitted to or from the magnetic disk. In solid state disks, however, the capacity of the RAM memory is approximately the same as the capacity of the magnetic disk. This is due to the fact that the RAM is the memory source used directly by the host computer during processing operations, with the disk used principally to back up the RAM.
When a solid state disk is powered up, the data stored in the magnetic disk will be copied to the RAM. During processing operations, a connected host computer will typically retrieve data from the RAM, modify that data, and ultimately write the modified data back into the RAM. In this respect, it is not uncommon for the RAM to contain the only valid version of the data, since the RAM data is written back to the magnetic disk only when there is an unplanned loss of primary electric power, or there is a planned shut down of the drive.
Given that the RAM portion of the solid state disk drive can operate only when electric power is supplied, the electronic memory is considered a "volatile" memory. On the other hand, the magnetic disk is a "non-volatile" memory given that once it is written to, data is preserved even if electric power is lost. Thus it is quite important to insure that all of the data that is contained in RAM is also contained on the magnetic disk before power to the drive is completely terminated, or else unique data in the RAM will be lost.
One problem that has been encountered in connection with many solid state disk drives is that it is not always possible to predict when power to the system may be lost. An unexpected power shortage, such as a black out, is a common cause of an unplanned loss of primary power to the system. In order to protect against such unplanned losses of power, many solid state disk drives include an auxiliary power supply, such as batteries. Thus, in the event of a power shortage, the batteries will power the system so that data can be saved from the volatile Ram to the non-volatile disk.
On the other hand, even those systems supported with back up power can loose data stored in the RAM. For example, certain solid state disk drives have very large capacity memories such that it may take as long as 20 minutes to completely saved the contents of the RAM memory onto the disk. Using such a drive as an example, if there was a power shortage, and the batteries did not contain enough power to run the system for the full 20 minutes, not all of the data in the RAM would have been backed up before the battery power was lost. Consequently, when power was restored at a later time, it would not be possible to distinguish between data on the disk that is good, because it was saved from RAM, and data on the disk that is bad, because it is an older version of the data never replaced by the newer data in the
Accordingly, what is needed is a solid state disk drive which protects against the loss of data in the volatile memory. More specifically, what is needed is a drive which continuously saves the data in the RAM onto the disk, so that, to the greatest extent possible, the disk contains a redundant copy of the data in the RAM. Furthermore, what is needed is a solid state disk drive that, if it should loose its auxiliary power before it has completely saved the RAM data onto the disk, the drive is later able to differentiate the data on the disk that is good from the data that is bad when power is restored. Thereby the drive is able to at least partially restore the data on the disk to the RAM, and identify which disk data is bad.